<?php 
/*************************************************************************************
 * Woxys Project - © 2011 RAKZ.NET
 * File    : functions.utils.php
 * Descr.  : Regroupe diverses petites fonctions utiles pour manipuler les chaînes de
 *           caractères et les données.
 * Date    : 14/04/2010 - (lastrev)
 * base author  : Elmsroth
 * 
 *************************************************************************************/

/* Fonction : debug
 * Descr.   : Affiche des détails sur l'objet/la variable donnée
 * @args    : $obj  = objet ou variable
 * @return  : void
 */
function debug($obj)
{
	echo "<pre> DEBUG print_r :<br>";
		print_r($obj);
	echo "<hr> <br> DEBUG var_dump : <br>";
	echo "</pre>";
}

/* Fonction : calcPercent
 * Descr.   : Calcule un pourcentage (%) à $nbDecimals chiffres après la virgule (default:2) 
 * @args    : $nbr         = Le dividende.
 * 			  $total       = Le diviseur.
 *            $nbDecimals  = Le nombre de décimales affichées après la virgule.
 * @return  : string  - Chaine contenant le résultat du calcul (sans le signe %).
 */
function calcPercent($nbr, $total, $nbDecimals = 2)
{
		return sprintf("%.".$nbDecimals."f",(($nbr * 100)/$total ));
}


/* Fonction : shorten 
 * Descr.   : Réduit une chaîne de caractère qui dépasse une limite fixée et ajoute '...' en fin de celle-ci.
 * @args    : $str   = Chaîne à réduire.
 * 			  $limit = Limite de caractères au delà de laquelle la chaîne sera coupée.
 * @return  : string  - Chaine aléatoire de $nbChars caractères générée.
 */
function shorten($str, $limit)
{
	if(strlen($str) > $limit)return substr($str, 0, $limit)."...";
	else return $str;
}


/* Fonction : aleaString 
 * Descr.   : Génère une chaine aléatoire.
 * @args    : $nbChars = Nombre de caractères voulus. 
 * @return  : string  - Chaine aléatoire de $nbChars caractères générée.
 */
function aleaString($nbChars)
{
	$string = "";
		$chaine = "abcdefgQRTUVWXYZhijk0123456789lmnpqrstuvwxyABCDEFGHIJKLMNOP9876543210";
		srand((double)microtime()*1000000);
		for($i=0; $i<$nbChars; $i++) {
		$string .= $chaine[rand()%strlen($chaine)];
		}
		return $string;
}


/* Fonction : generateLoaderLink 
 * Descr.   : Génère un lien pour une image GIF animée de chargement.
 * Warning  : Génération assez lente.
 * @args    : $BGcolor 	   = Couleur de fond de l'image (Hexadécimal).
 * 			  $imgId       = l'id de l'image (récupérable sur le site en question)
 * 			  $frontColor  = Couleur de premier plan (Hexadécimal).
 * 			  $transparent = Image transparente ou non (0/1).
 * 			  $speed 	   = vitesse d'animation. 
 * @return  : string  - Lien vers l'image dynamique (.gif).
 */
function generateLoaderLink($BGcolor, $imgId, $frontColor,$size=64 ,$tranparent = 0, $reverse= 0, $speed=5)
{
	$link = "http://www.preloaders.net/generator.php?image=".$imgId."&speed=".$speed."&fore_color=".$frontColor."&back_color=".$BGcolor."&size=".$size."x".$size."&transparency=".$tranparent."&reverse=".$reverse;
	 return $link;
}


?>